1. Field of Invention
The present invention generally relates to computer booting systems and methods thereof. More particularly, the invention provides a multi-buttons booting system and method thereof implemented to boot on different computer operating systems.
2. Related Art
The activation of a computer and the load of an operating system usually are included in a so-called “bootstrap process”, or more simply designated a “booting” process. The activating process usually differs according to the specific operating system used.
FIG. 1 is a flowchart of the conventional activating process of the operating system Win9x/DOS. In a first stage, the system performs a power-on-self testing (POST) process (step 101). The microprocessor executes the program stored at the address FFFF0H where is fixed a ROM program. This program performs a checkup of the system hardware including its memory.
In a second stage, the partition records and the boot records are accessed (step 102). Once the microprocessor has found that the hardware is normal and is compatible to the CMOS settings, the activation is performed from the device, for example the hard drive, corresponding to the CMOS settings. The microprocessor then typically accesses to the disk partition record (DPT) and the main boot record.
In a third stage, the microprocessor accesses to the DOS boot record (step 103). If the main boot record and the partition table are tested correctly, the microprocessor executes the main boot record and further accesses to the DOS main boot record, being located in the first sector of each main partition. Subsequently, the microprocessor executes the DOS boot record.
In a fourth stage, the microprocessor installs the system implicit documents (step 104). The implicit document “IO.SYS” of the DOS system is loaded in the memory as well as the basic document system FAT. At this moment, the monitor usually displays the words “Starting Windows 9x . . . ”. “IO.SYS” loads “MS.SYS” in the memory, processes the documents “System.dat” and “User.dat”, and loads the disk compression program.
In a fifth stage, the DOS is configured (step 105). Once the system implicit documents have been loaded, the microprocessor executes the system implicit documents and the system configuration document “Config.sys”, and loads the driving programs defined in “Config.sys”.
In a sixth stage, the microprocessor loads the command interpreter program (“Command.com”) (step 106). The system installs the command management program to manage all the system operation commands (the commands “Dir”, “Copy”, etc. are usually provided by Command.com).
In a seventh stage, the file “Autoexec.bat” is executed (step 107). The computer executes one-by-one the commands defined in the file “Autoexec.bat”.
In an eighth stage, “Win.com” is loaded (step 108). Win.com is in charge of executing the driving programs and execution files of Windows. The booting process is thereby completed.
After the PSOT process, the hard drive is reset and the BIOS will proceeds to the booting process according to the sequence specified by the user, i.e. from the floppy device, the hard drive or the optical disk drive. For example, if the booting process is to be conducted from the hard drive, the system BIOS loads the main boot record into the memory. Subsequently, the control right is switched to the main boot record (MBR) and the disk partition table DPT is checked to find an active partition. Lastly, the main boot record hands the control right to the boot program of the active partition, which loads the operating system.
The main boot sector starts at the location (cylinder 0, side0, sector 1) of the hard disk, and includes the main boot record (MBR) and the disk partition table (DPT) of the hard disk. The main boot sector has a size of 512 bytes, wherein the MBR occupies 446 bytes (0000 h-01BDh), the DPT 64 bytes (01BE-01FD), and the end indicator 2 bytes (55AA). The main boot record is used to verify whether the DPT is correct and which partition is the booting partition, and when the program ends the main boot record loads the booting program (for example IO.SYS of the operating system DOS) of the partition into the memory and turns the control right to it. The partition table has 80H or 00H as start indicator, and 55AAH as end indicator, totally 64 bytes are located in the end portion of the sector.
The structure of the main boot sector is as follows:
000H-08AH: MBR booting program (searching for the booting partition);
08BH-0D9H: the MBR booting string;
0DAH-1BCH: spare area (“0”);
1BEH-1FDH: disk partition table; and
1FEH-1FFH: end indicator (“55AA”).
The DPT occupies 64 bytes (01BE-01FD), each partition occupies 16 bytes, so four partitions can be represented. This is the reason that each hard disk totally can include only four partitions, including main and extension partitions. The structure of each partition is defined as follows:
LengthOffset(bytes)Description0H1Partition type: 00 means inactive partition;80 means active partition;other means invalid partition.1h3Partition start address (side/sector/cylinder);conventionally, the start address is (side 1,sector 0, cylinder 1) and the correspondingcombines to form the address 010100.4h1Operating system type of the partition5h3Partition end address8h4Partition start logic sectorCh4Partition occupation in number of sectors
The operating system boot record (OBR) is conventionally located at (cylinder 0, side 1, sector 1), which is the case for DOS. For operating systems activated via multi-booting modes, the OBR is located at the first sector of the corresponding main/extended partition. The OBR is the first sector the operating system can address to, and also includes a booting program and a BIOS parameter block (BPB). Each logic partition has an OBR, and its parameter differs depending upon the partition size and the type of operating system. The booting program is executable to determine whether the two documents of the partition root directory are booting documents of the operating system (for example, the documents “IO.SYS” and “MSDOS.SYS” of MSDOS or Win9x/Me). If this is the case, the first document is loaded into the memory, and the control right is turned to the document in question. The BPB parameters record the start sector, the end sector, the document storage format, the hard disk medium describing symbol, the root directory size, FAT number, the allocution unit size, etc. The OBR is generated via a high formatting program (for example, “Format.com” for the DOS operating system).
Recently, computer appliances have become more multi-functional incorporating many application programs. Notwithstanding the improved performance, some disadvantageous aspects of the computer may still remain. This is the case of the operating system booting that starts at every on-switch of the computer, which is time-consuming, and occupies substantial system resources. If some insecure services are activated, the system may become vulnerable to attacks. Moreover, specific software programs have to be installed according to different functionality, otherwise a normal working process cannot be conducted. The manipulation of the whole operating system usually requires a certain expertise and is not user-friendly.
For example, if the user only wants to watch a movie or listen to music on a computer, he has to wait until the installation of the whole operating system has been completed. This usually takes a long time and loads a lot of functionality that is not needed for the user's utilization.
To overcome the foregoing disadvantages, an approach known in the art consists of using a boot installation program that can boot a plurality of operating systems. When the on-switch button is pushed on, to power on the computer, the boot installation program is executed. During its execution, a selection interface, showing a plurality of operating systems, is displayed to allow the user to choose a specific operating system that are provided with adequate function characteristics, more adapted to the user's demands.
However, the user conventionally has to wait a certain time before the selection interface is displayed, and the wanted operating system cannot be directly run. A disadvantage of this technique is that it needs a manual intervention in the booting process, which decreases the system activation performance, renders it more difficult to use, and increases failure.